import { PSMDAjaxControlParamImpl } from '../psmdajax-control-param-impl';
import { IPSDBAppMenuPortletPartParam } from './ipsdbapp-menu-portlet-part-param';
import { IPSDBAppViewPortletPartParam } from './ipsdbapp-view-portlet-part-param';
import { IPSDBContainerPortletPartParam } from './ipsdbcontainer-portlet-part-param';
import { IPSDBPortletPartParam } from './ipsdbportlet-part-param';
import { IPSDBRawItemPortletPartParam } from './ipsdbraw-item-portlet-part-param';
import { IPSDBSysPortletPartParam } from './ipsdbsys-portlet-part-param';

export class PSDBPortletPartParamImpl
  extends PSMDAjaxControlParamImpl
  implements IPSDBPortletPartParam, IPSDBAppMenuPortletPartParam, IPSDBSysPortletPartParam, IPSDBContainerPortletPartParam, IPSDBAppViewPortletPartParam, IPSDBRawItemPortletPartParam
{
  get cls(): string {
    return 'PSDBPortletPartParamImpl';
  }

  instanceof(cls: string): boolean {
    if (
      cls == 'control.dashboard.IPSDBAppMenuPortletPartParam' ||
      cls == 'control.dashboard.IPSDBAppViewPortletPartParam' ||
      cls == 'control.dashboard.IPSDBContainerPortletPartParam' ||
      cls == 'control.dashboard.IPSDBPortletPartParam' ||
      cls == 'control.dashboard.IPSDBRawItemPortletPartParam' ||
      cls == 'control.dashboard.IPSDBSysPortletPartParam'
    )
      return true;
    return super.instanceof(cls);
  }
}
